package q3;

import java.util.List;
import java.util.Random;

/**
 * 顾客
 * @author：涂有
 * @date 2017年12月1日 下午5:34:43
 */
public class Customer {

	/**顾客名字*/
	private String name;
	/**随机数生成器，用于顾客随机点选菜品*/
	private Random random = new Random();
	
	public Customer(String name) {
		super();
		this.name = name;
	}

	public String getName() {
		return name;
	}
	
	/**
	 * 顾客点餐
	 * @author：涂有
	 * @date 2017年12月2日 下午4:23:53
	 * @param restaurant 在哪个餐馆点菜
	 */
	public void order(Restaurant restaurant){
		List<Food> foods = restaurant.getFoods();
		Food food = foods.get(random.nextInt(foods.size()));
		restaurant.addOrder(this, food);
	}
	
	/**
	 * 接收到服务员送的菜
	 * @author：涂有
	 * @date 2017年12月2日 下午4:55:43
	 * @param o 做好的菜品
	 */
	public void receive(Order o){
		try {
			System.out.format("顾客开始吃服务员：%s，送的菜：%s\n", o.getWaiter().getName(), o.getFood().getName());
			Thread.sleep(random.nextInt(3000)); //模拟吃饭的耗时
			System.out.format("顾客：%s，离店\n", name); //离店
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
	}
}
